<?php
    class Juridica extends DBManager
    {
	var  $con;

	//funcion para comprobar conexion

        function open_con()
	{
            $this->con=parent::conectar();
            return $this->con;
	}

	//funcion para cerra conexion
	function close_con()
	{
            parent::desconectar();
	}
        
        function fill_form_natural($obj_extranjera,$obj_estadoauto,$obj_direccionauto,$obj_municipio)
        {
            parent::conectar();
            $idautorizado   =   $_GET['idautorizado'];
            
            $nit            =   $this->get_campo_juridica("idautorizado_juridica = ".$idautorizado, "nit_apju");
            $nombre         =   $this->get_campo_juridica("idautorizado_juridica = ".$idautorizado, "nombresociedad_apju");
            $representante  =   $this->get_campo_juridica("idautorizado_juridica = ".$idautorizado, "representante_apju");
            $idautorizado_extranjera    =   $this->get_campo_juridica("idautorizado_juridica = ".$idautorizado, "idautorizado_extranjera");
            $firma_ext      =   $obj_extranjera->get_campo_extranjera("idautorizado_extranjera = '".$idautorizado_extranjera."'", "nombrefirma_aext");
            
            $nacta          =   $obj_estadoauto->get_campo_estado_auto("idautorizado = ".$idautorizado." and idestado = 5 order by idestadoautorizado desc","nacta_ests");
            $facta          =   $this->formato_fecha($obj_estadoauto->get_campo_estado_auto("idautorizado = ".$idautorizado." and idestado = 5 order by idestadoautorizado desc","fechacta_ests"));
            
            //para la direccion particular
            $idmunicipio_par    =   $obj_direccionauto->get_campo_dir_auto("idautorizado = ".$idautorizado." and tipo_direccion_aut = 5 and prioridad_aut = 1","idmunicipio"); 
            $iddepartamento_par =   $obj_municipio->get_campo_municipio("idmunicipio = ".$idmunicipio_par,"iddepartamento");
            $direccion_par      =   $obj_direccionauto->get_campo_dir_auto("idautorizado = ".$idautorizado." and tipo_direccion_aut = 5 and prioridad_aut = 1","direccion_aut");
            $telefono1_par      =   $obj_direccionauto->get_campo_dir_auto("idautorizado = ".$idautorizado." and tipo_direccion_aut = 5 and prioridad_aut = 1","telefono1_aut");
            $telefono2_par      =   $obj_direccionauto->get_campo_dir_auto("idautorizado = ".$idautorizado." and tipo_direccion_aut = 5 and prioridad_aut = 1","telefono2_aut");            
            $mail_par           =   $obj_direccionauto->get_campo_dir_auto("idautorizado = ".$idautorizado." and tipo_direccion_aut = 5 and prioridad_aut = 1","email_aut");            
            $name_municipio_par =   $obj_municipio->get_campo_municipio("idmunicipio = ".$idmunicipio_par,"nombre_muni");; 
            
            
            $res = array('success'          => true,
                        'idautorizado'      => $idautorizado, 
                        'nit'               => $nit, 
                        'nombre'            => $nombre, 
                        'representante'     => $representante, 
                        'firma_ext'         => $firma_ext, 
                        'nacta'             => $nacta, 
                        'facta'             => $facta, 
                        'idmunicipio_par'   => $idmunicipio_par, 
                        'iddepartamento_par'=> $iddepartamento_par, 
                        'direccion_par'     => $direccion_par, 
                        'telefono1_par'     => $telefono1_par, 
                        'telefono2_par'     => $telefono2_par,    
                        'mail_par'          => $mail_par, 
                        'municipio_par'     => $name_municipio_par,
                    );
            
            echo json_encode($res);
            parent::desconectar();
        }        
        
        
        
        function show_grid_juridica($condicion_estado="idestado <> 13 and idautorizado_extranjera is null")
        {
           parent::conectar();
           
           $start           =   isset($_POST['start'])?$_POST['start']:0; 
       	   $limit           =   isset($_POST['limit'])?$_POST['limit']:100;
           $tipo_busqueda   =   $_POST['tipo_busq'];
	   $valor_busqueda  =   $_POST['valor'];
 	   $data_all        =   array();
           
            if($tipo_busqueda == "idautorizado_juridica")
            {
                $condicion = " and idautorizado_juridica = ".$valor_busqueda;
            }
            else
            {
                $condicion = " and ".$tipo_busqueda." like '%".$valor_busqueda."%'";
            }
           

            $consulta_juridica  =   "select * from vw_personas_juridicas where  ".$condicion_estado.$condicion;
            $recordset_all      =   $this->obj_con-> Execute($consulta_juridica);

           if (!$recordset_all)
           {
               echo ($this->obj_con->ErrorMsg());
           }
 	   else
           {
               while (!$recordset_all->EOF)
     	       {
                    $idautorizado   =   $recordset_all->fields['idautorizado_juridica'];
                    $nit            =   $recordset_all->fields['nit_apju'];
                    $name_full      =   $recordset_all->fields['nombresociedad_apju'];
                    $representante  =   $recordset_all->fields['representante_apju'];
                    $name_estado    =   $recordset_all->fields['nombre_esta'];

                
                    $responce_all=array('idautorizado'=>$idautorizado,'nit'=>$nit,'nombre_full'=>$name_full,'representante'=>$representante,'estado'=>$name_estado);
                    array_push($data_all,$responce_all);
                    $recordset_all->MoveNext();
                }

                $paging_all = array(
                        	 'success'=>true,
                                 'total'=>count($data_all), //<--- total de registros a paginar
				 'data'=> array_splice($data_all,$start,$limit)
                                );

		echo json_encode($paging_all);
            }
            parent::desconectar();
        }
        
        
        function list_persona_juridica()
        {
            parent::conectar();
            $data   =   array();
            $i      =   0;
            $nombre =   strtoupper($_POST["query"]);
            $valor_query    = $_POST["valuesqry"];
            
            
            if($valor_query == "")
            {
                $consulta_juridica  =   "select * from vw_personas_juridicas where nombresociedad_apju like '%".$nombre."%' order by nombresociedad_apju asc";
            }
            else if($valor_query == true)
            {
                $params = explode("|", $nombre);  
                $consulta_juridica  =  $this->aux_build_query($params);
            }
            
            
            $recordset_all  =   $this->obj_con->Execute($consulta_juridica);
            
            while (!$recordset_all->EOF)
            {
                $idjuridica          =   $recordset_all->fields['idautorizado_juridica'];
		$nombre_jurid        =   $recordset_all->fields['nombresociedad_apju'];
                $responce->data[$i]  =   array('idautorizado'=>$idjuridica,'nombre_full'=>$nombre_jurid);
                $i++;
		$recordset_all->MoveNext();
            }
            
            echo json_encode($responce);     
            parent::desconectar();
        }
        
        function aux_build_query($params)
        {

            $qry = "select * from vw_personas_juridicas where";
            $first = true;
            
            foreach($params as $k => $v)
            {
                if(!$first)
                {
                    $qry .= ' OR';
                }
                $qry .= " idautorizado_juridica = " . $v;

                $first = false;
            }       
            return $qry;
        }        
        
        
        
        function check_nit($nit)
        {
            parent::conectar();
            $consulta_juridica       =   "select * from tp_autorizado_juridica where nit_apju = '$nit'";
            $record_juridica         =   $this->obj_con->Execute($consulta_juridica);
            $verificar_juridica      =   $record_juridica->RecordCount();
            
            $consulta_natural        =   "select * from tp_autorizado_persona where nit_autp = '$nit'";
            $record_natural          =   $this->obj_con->Execute($consulta_natural);
            $verificar_natural       =   $record_natural->RecordCount();   
            
            $consulta_juridica_sol   =   "select * from tp_solicitud_juridica where nit_spju = '$nit'";
            $record_juridica_sol     =   $this->obj_con->Execute($consulta_juridica_sol);
            $verificar_juridica_sol  =   $record_juridica_sol->RecordCount();
            
            $consulta_natural_sol    =   "select * from tp_solicitud_persona where nit_solp = '$nit'";
            $record_natural_sol      =   $this->obj_con->Execute($consulta_natural_sol);
            $verificar_natural_sol   =   $record_natural_sol->RecordCount();               
            
            if($verificar_juridica>0 || $verificar_natural>0 || $verificar_juridica_sol>0 || $verificar_natural_sol>0)
            {
                return "1";
            }
            else
            {
		return "0";
            }
            parent::desconectar();
        } 
        
        
        function get_campo_juridica($condicion,$get_campo)
	{
            parent::conectar();

            $consulta  =   "select ".$get_campo." from tp_autorizado_juridica where ".$condicion;
            $record_consulta = $this->obj_con->GetRow($consulta);
            
            parent::desconectar();
            return  $record_consulta[$get_campo];
        }
        
        function formato_fecha($fecha)
        {
            list($fecha,$hora)      = explode(" ",$fecha);
            list($year,$mes,$dia)   = explode("-",$fecha); 
            return $dia."/".$mes."/".$year;
        }        
        
    }
    
?>
